// 公共的css、js都从main.js导入
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import './assets/css/main.css'
import './assets/fonts/iconfont.css'
// 全局导入axios
import axios from 'axios'
// 配置请求的根路径
axios.defaults.baseURL='http://127.0.0.1:8888/api/private/v1/'
 // 通过拦截器添加本地token，以便后期后台验证是否携带token，有token就可以访问，否则退回登录页面
axios.interceptors.request.use(config=>{
  // config内有请求的基本信息
  console.log(config);
  // 在config中的请求头headers中Authorization，需要授权的 API ，必须在请求头中使用 Authorization 字段提供 token 令牌
  config.headers.Authorization = window.sessionStorage.getItem('token')
  // 最后必须return config
  return config
  // 响应拦截器
  
})
axios.interceptors.response.use(res=>{
  return res.data
})
// 所有的组件都可以访问到vue原型
// 虽然全局导入了axios，但是外面组件不能使用axios
// 把axios放在vue原型上的话，外面的组件也可以使用axios
// 只要是js方法，想要所有组件都能访问，将该方法挂载在Vue.prototype上即可，但是组件标签如果也想让所有组件都可以使用是不需要挂载在Vue.prototype上
Vue.prototype.axios = axios

Vue.config.productionTip = false

new Vue({
  router,
  // render将App组件替换#app的监管区域
  render: h => h(App)
}).$mount('#app')
